{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7ae82435-be55-4b8f-90f9-4eacfa8fb3f0",
   "metadata": {},
   "source": [
    "Chapter 20\n",
    "\n",
    "# 肘部法则\n",
    "Book_7《机器学习》 | 鸢尾花书：从加减乘除到机器学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "156dc134-bddb-4e7d-ad2e-01e75f81c9c6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# ! pip install --upgrade threadpoolctl"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7e1c6f8b-bb70-4300-86c3-9050eb625d96",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.colors import ListedColormap\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "from sklearn import datasets\n",
    "from sklearn.cluster import KMeans"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ef1fd748-18fd-41b1-8001-b7f91ba3b7c3",
   "metadata": {},
   "outputs": [],
   "source": [
    "# import the iris data\n",
    "iris = datasets.load_iris()\n",
    "\n",
    "# Only use the first two features: sepal length, sepal width\n",
    "X_train = iris.data[:, :2]\n",
    "\n",
    "# Vector of labels\n",
    "y_train = iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "254c46c2-8049-4c1c-807b-007e4f72c000",
   "metadata": {},
   "outputs": [],
   "source": [
    "distortions = []\n",
    "for i in range(1, 11):\n",
    "    \n",
    "    # GK-Means\n",
    "    km = KMeans(\n",
    "        n_clusters=i, init='random',\n",
    "        n_init=10, max_iter=300,\n",
    "        tol=1e-04, random_state=0)\n",
    "    # train the parameters\n",
    "    km.fit(X_train)\n",
    "    distortions.append(km.inertia_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "8b4cec1e-d081-4e17-99bd-ac2bdd9a3932",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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TOPJDmNMUQcPHoQkSdi2bZvaQwnZs2cPhg4dCovFgv79+0f88RSbGGPN48kOYzHu5ptvhiRJeO655+q9/eOPP4YkSSqNSl1PPPEE7HY79u7dizVr1qg9HCxduhRJSUlqD4OxmMWTHcZ+ASwWC+bPn4/y8nK1hyKM1+uN+mN//vlnXHzxxejatStSUlIEjkpdfr9f01f4ZkwpPNlh7BdgzJgxSE9Px7x585q9zZw5cxo9pbNo0SJ069Yt9O+bb74ZV199NebOnYu0tDQkJSXhySefRE1NDR544AEkJyejc+fO+Mc//tHo/vfs2YPhw4fDYrGgd+/eWLt2bb3379q1C7/5zW8QFxeHtLQ0/OEPf8DJkydD7x81ahTuuusuzJ49G+3bt8fYsWOb7AgEAnjqqafQuXNnmM1m9O/fv94V7iVJwubNm/HUU09BkiTMmTOn2fuZP38+evToAbPZjC5duuDZZ59t8rZNrcw0XDn78ccfcemllyI+Ph4JCQkYOHAgNm3ahLVr1+KWW25BRUUFJEmqNyav14sHH3wQnTp1gt1ux5AhQ+p93YKf99NPP8X5558Ps9mMQ4cOYe3atbjoootgt9uRlJSEESNG4NChQ02OnbFfAp7sMPYLoNfrMXfuXLz88ss4cuRIq+7rq6++wrFjx/DNN99g4cKFmDNnDq688kq0a9cOGzduxJ133ok777wTRUVF9T7ugQcewH333YetW7di+PDhmDhxIsrKygAAxcXFGDlyJPr3749Nmzbh888/x/HjxzF58uR69/H222/DYDDgu+++w+uvv97k+F588UU8//zz+Otf/4rt27fj8ssvx8SJE7Fv377Q5+rduzfuu+8+FBcX4/7772/yfh555BHMnz8fjz/+OHbt2oVly5YhLS0t6q/bDTfcgM6dOyM/Px+bN2/Gww8/DKPRiOHDh2PRokVISEhAcXFxvTHdcsst+O6777B8+XJs374d1157LX7961+HWgDA6XRi3rx5+Pvf/46dO3ciOTkZV199NUaOHInt27fj+++/x+233/6LfcqSMQBAm1xbnTGmmqlTp8pXXXWVLMuyPHToUHnatGmyLMvyihUr5LoPAU888YTcr1+/eh/7wgsvyF27dq13X127dpX9fn/obT179pR/9atfhf5dU1Mj2+12+b333pNlWZYLCwtlAPJzzz0Xuo3P55M7d+4sz58/X5ZlWX788cflcePG1fvcRUVFMgB57969sizL8siRI+X+/fu32JuRkSE/++yz9d42ePBgefr06aF/9+vXT37iiSeavY/KykrZbDbLb775ZpPvDzZt3bpVlmVZXrJkiZyYmFjvNg2/vvHx8fLSpUubvL+mPn7//v2yJEny0aNH67199OjR8iOPPBL6OADytm3bQu8vKyuTAchr165tto+xXxpe2WHsF2T+/Pl4++23sWvXrqjvo3fv3tDpzj50pKWloW/fvqF/6/V6pKSkoLS0tN7HDRs2LPR3g8GAQYMGYffu3QCAzZs34+uvv0ZcXFzoz3nnnQegdn9N0KBBg845tsrKShw7dgwjRoyo9/YRI0aEPlc4du/eDY/Hg9GjR4f9MS2ZPXs2/vjHP2LMmDF47rnn6nU1ZcuWLZBlGbm5ufW+Lnl5efU+1mQy4YILLgj9Ozk5GTfffDMuv/xyTJgwAS+++CKKi4uFdTCmRTzZYewX5JJLLsHll1+ORx99tNH7dDodZFmu9zafz9fodkajsd6/JUlq8m3hbJQNPrUSCAQwYcIEbNu2rd6fffv24ZJLLgnd3m63t3ifde83SJbliJ7GsVqtYd8WCO9rN2fOHOzcuRNXXHEFvvrqK5x//vlYsWJFs/cZCASg1+uxefPmel+T3bt348UXX6w31oZtS5Yswffff4/hw4fj/fffR25uLjZs2BBRE2OxhCc7jP3CPPfcc/jPf/6D9evX13t7hw4dUFJSUu+XtsjzyNT9ZVtTU4PNmzeHVm8uvPBC7Ny5E926dUOPHj3q/Ql3ggMACQkJyMjIwLp16+q9ff369ejVq1fY95OTkwOr1Rr2y9I7dOiAqqoqOByO0Nua+trl5ubi3nvvxapVqzBp0iQsWbIEQO3qjN/vr3fbAQMGwO/3o7S0tNHXJD09vcUxDRgwAI888gjWr1+PPn36YNmyZWG1MBaLeLLD2C9M3759ccMNN+Dll1+u9/ZRo0bhxIkTWLBgAX7++We88sor+Oyzz4R93ldeeQUrVqzAnj17MGPGDJSXl2PatGkAgBkzZuDUqVP4/e9/jx9++AEHDhzAqlWrMG3atEaTgJY88MADmD9/Pt5//33s3bsXDz/8MLZt24Z77rkn7PuwWCx46KGH8OCDD+Kdd97Bzz//jA0bNuCtt95q8vZDhgyBzWbDo48+iv3792PZsmVYunRp6P0ulwt33XUX1q5di0OHDuG7775Dfn5+aALWrVs3VFdXY82aNTh58iScTidyc3Nxww034KabbsJHH32EwsJC5OfnY/78+fjf//7X7NgLCwvxyCOP4Pvvv8ehQ4ewatUqFBQURDTZYyzW8GSHsV+gp59+utHTLr169cLf/vY3vPLKK+jXrx9++OGHZl+pFI3nnnsO8+fPR79+/fDtt9/ik08+Qfv27QEAGRkZ+O677+D3+3H55ZejT58+uOeee5CYmFhvf1A4Zs6cifvuuw/33Xcf+vbti88//xwrV65ETk5ORPfz+OOP47777sOf//xn9OrVC9ddd12jfUhBycnJePfdd/G///0Pffv2xXvvvVfvJe16vR5lZWW46aabkJubi8mTJ2P8+PF48sknAQDDhw/HnXfeieuuuw4dOnTAggULANQ+HXXTTTfhvvvuQ8+ePTFx4kRs3LgRmZmZzY7bZrNhz549+O1vf4vc3FzcfvvtuOuuu3DHHXdE1M9YLJHkho94jDHGGGMxhFd2GGOMMRbTeLLDGGOMsZjGkx3GGGOMxTSe7DDGGGMspvFkhzHGGGMxjSc7jDHGGItpPNlhjDHGWEzjyQ5jjDHGYhpPdhhjjDEW03iywxhjjLGYxpMdxhhjjMW0/w+ZeL/iXaJ1ywAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "plt.plot(range(1, 11), distortions, marker='x')\n",
    "ax.grid(linestyle='--', linewidth=0.25, color=[0.5,0.5,0.5])\n",
    "plt.xlabel('Number of clusters')\n",
    "plt.ylabel('Distortion')\n",
    "ax.set_xticks(range(1, 11))\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
